package concurrent.c_000_Thread;

import util.ThreadUtil;

/**
 * https://www.cnblogs.com/jhxxb/p/10813836.html
 * new T1().run();
 * new T1().start();
 * <p>
 * 当启动了一个 JVM 时，从操作系统开始就会创建一个新的 JVM 进程，之后 JVM 进程中将会派生或者创建很多线程。
 * 在 JAVA 中通过 Thread 类重写的 run() 方法是线程的执行单元，而通过调用 start() 方法才是真正启动了一个线程。
 * 明确 “线程的执行单元” 与 “线程” 是两个不同的概念。
 */
public class T01_WhatIsThread {
    public static void main(String[] args) {
        // new T1().run();
        new T1().start();

        for (int i = 0; i < 10; i++) {
            ThreadUtil.sleepMillis(1);
            System.out.println("main");
        }
    }

    static class T1 extends Thread {
        @Override
        public void run() {
            for (int i = 0; i < 10; i++) {
                ThreadUtil.sleepMillis(1);
                System.out.println("T1");
            }
        }
    }
}
